﻿using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;

namespace TimeTabling.CORE
{
    class Subject:Template 
    {
        #region variables miembro
        /// <summary>
        /// Declaramos la variable recursos para utilizarla como una lista
        /// </summary>
        private IList<Resource> resources= null;
        #endregion

        /// <summary>
        /// Nombre de la asignatura
        /// </summary>
        public String Name { get; set; }
        /// <summary>
        /// Nombre del profesor que imparte la asignatura
        /// </summary>
        public Teacher Teacher { get; set; }
        /// <summary>
        /// Horas por semana de la asignatura
        /// </summary>
        public int HoursPerWeek { get; set; }
        /// <summary>
        /// Especialidad a la que pertenece la asignatura
        /// </summary>
        public Branch Branch { get; set; }
        /// <summary>
        /// Descripcion de la asignatura
        /// </summary>
        public String Description { get; set; }
        /// <summary>
        /// Creditos de la asignatura
        /// </summary>
        public int Credits { get; set; }
        /// <summary>
        /// Horas en las que se imparte la asignatura en el dia(?)
        /// </summary>
        public String HourSequence { get; set; }
        /// <summary>
        /// Curso 
        /// </summary>
        public Course Course { get; set; }
        /// <summary>
        /// Lista de recursos que se utilizan en la asignatura
        /// </summary>
        public IList<Resource> Resources
        {
            get
            {
                if (resources == null)
                {
                    resources = new List<Resource>();
                }
                return resources;
            }
            set
            {
                resources = value;
            }
        }
    }
}
